<?php
Class V_Config {
	/** Массив с конфигурационными параметрами
    * @var array
    */
	static $_config = Array();
	
	/** Метод вызывается сразу после загрузки класса
	 * @return null
	 */
    public static function activateModule () {
    	static $active;
    	if (!isset($active)) {
    		$active=true;
    		self::initModule();
    	}
    }
    
    /**  -- Инициализация настроек 
     * @return null
     */
    public static function initModule () {
		self::$_config['system']['skin'] = 'developer';
		self::$_config['system']['role'] = 'deny';
		self::$_config['system']['title'] = 'Prostor, Казань';
        
		self::$_config['roles'] = Array (
			'-1'     =>  Array (
				'default'   => 'auth'
			),
			'0'     =>  Array (
				'pages'     => 'allow',
				'default'   => 'worklist'
			),
			'1'     =>  Array (
				'pages' => Array (
					'worklist'  =>  'allow',
 					'ajax'      => 'allow',
					'messages'  => 'allow',
					'getjson'  => 'allow'
				),
				'default'   => 'worklist'
			),
			'2'     =>  Array (
				'pages' => Array (
					'worklist'  =>  'allow',
					'ajax'      => 'allow',
					'messages'  => 'allow',
					'getjson'  => 'allow'
				),
 				'default'   => 'worklist'
			)
		);
		// -- Настройка путей приложения----------------------------
		self::$_config['path']['root']=$_SERVER['DOCUMENT_ROOT'].'/';
    	self::$_config['path']['engine']='classes/engine/';
    	self::$_config['path']['view']='view/';
    	self::$_config['path']['skin']='view/skins/'.self::$_config['system']['skin'].'/';
    	self::$_config['path']['pages']='classes/pages/';
    	
    	// -- Получение настроек из файла
    	$ini_array = parse_ini_file("/config.ini.php");
    	foreach ($ini_array as $ini=>$value) {
    		$sect=explode ('.',$ini);
    		self::$_config[$sect[0]][$sect[1]]=$value;
    	}

    }
    
    /** Получить запись кофигурации
     * @param section раздел параметров
     * @param value название параметра
	 * @return string
	 */
    public static function getValue ($section,$value) {
    	if (isset (self::$_config[$section][$value])) return self::$_config[$section][$value];
    	else return false;
    }
    
    /* Получить раздел кофигурации в виде массива
     * @param section раздел параметров
	 * @return array
	 */
	public static function getSection ($section) {
    	if (isset (self::$_config[$section])) return self::$_config[$section];
    	else return false;
    }
}